package com.jay.fault.tolerant;

import com.jay.model.RpcResponse;
import lombok.extern.slf4j.Slf4j;

import java.util.Map;

/**
 * 容错策略 - 转移到其他服务节点
 * 当当前服务节点出现故障或无法访问时，该策略用于将请求转移到其他可用的服务节点
 * 以提高系统的可用性和容错性
 */
@Slf4j
public class FailOverTolerantStrategy implements TolerantStrategy {

    /**
     * 执行容错处理
     *
     * @param context 请求上下文，包含请求相关的参数和信息
     * @param e       当前服务节点发生的异常
     * @return 返回处理后的响应，如果无法转移到其他服务节点，则返回null
     */
    @Override
    public RpcResponse doTolerant(Map<String, Object> context, Exception e) {
        // todo 可自行扩展，获取其他服务节点并调用
        return null;
    }
}
